1 /****************************** Module Header ******************************\
2 * Module Name: MFCActiveXCtrlPage.cpp
3 * Project: MFCCOMClient
4 * Copyright (c) Microsoft Corporation.
8 * This source is subject to the Microsoft Public License.
9 * See http://www.microsoft.com/opensource/licenses.mspx#Ms-PL.
10 * All other rights reserved.
12 * THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND,
13 * EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED
14 * WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
15 \***************************************************************************/
17 #pragma region Includes
19 #include "MFCCOMClient.h"
20 #include "MFCActiveXCtrlPage.h"
24 // CMFCActiveXCtrlPage dialog
26 IMPLEMENT_DYNAMIC(CMFCActiveXCtrlPage
, CDialog
)
28 CMFCActiveXCtrlPage::CMFCActiveXCtrlPage(CWnd
* pParent
/*=NULL*/)
29 : CDialog(CMFCActiveXCtrlPage::IDD
, pParent
)
30 , m_fEditFloatProperty(0)
34 CMFCActiveXCtrlPage::~CMFCActiveXCtrlPage()
38 void CMFCActiveXCtrlPage::DoDataExchange(CDataExchange
* pDX
)
40 CDialog::DoDataExchange(pDX
);
41 DDX_Control(pDX
, IDC_MFCACTIVEXCTRL
, m_ocxActiveXCtrl
);
42 DDX_Text(pDX
, IDC_FLOATPROP_EDIT
, m_fEditFloatProperty
);
43 DDV_MinMaxFloat(pDX
, m_fEditFloatProperty
, -99999999.0F
, 99999999.0F
);
47 BEGIN_MESSAGE_MAP(CMFCActiveXCtrlPage
, CDialog
)
48 ON_BN_CLICKED(IDC_SETFLOATPROP_BN
, &CMFCActiveXCtrlPage::OnBnClickedSetFloatPropBn
)
49 ON_BN_CLICKED(IDC_GETFLOATPROP_BN
, &CMFCActiveXCtrlPage::OnBnClickedGetFloatPropBn
)
53 // CMFCActiveXCtrlPage message handlers
54 BEGIN_EVENTSINK_MAP(CMFCActiveXCtrlPage
, CDialog
)
55 ON_EVENT(CMFCActiveXCtrlPage
, IDC_MFCACTIVEXCTRL
, 1, CMFCActiveXCtrlPage::FloatPropertyChangingMFCActiveXCtrl
, VTS_R4 VTS_PBOOL
)
59 void CMFCActiveXCtrlPage::FloatPropertyChangingMFCActiveXCtrl(
60 float NewValue
, BOOL
* Cancel
)
63 strMessage
.Format(_T("FloatProperty is being changed to %f"), NewValue
);
65 // OK or cancel the change of FloatProperty
66 *Cancel
= (IDCANCEL
== MessageBox(strMessage
,
67 _T("MFCActiveX!FloatPropertyChanging"), MB_OKCANCEL
));
70 void CMFCActiveXCtrlPage::OnBnClickedSetFloatPropBn()
72 // Verify the value in the FloatProperty Edit control
75 // Set FloatProperty to the ActiveX control
76 m_ocxActiveXCtrl
.SetFloatProperty(m_fEditFloatProperty
);
80 void CMFCActiveXCtrlPage::OnBnClickedGetFloatPropBn()
82 // Get FloatProperty from the ActiveX control
83 FLOAT fProp
= m_ocxActiveXCtrl
.GetFloatProperty();
86 strMessage
.Format(_T("FloatProperty equals %f"), fProp
);
88 MessageBox(strMessage
, _T("MFCActiveX!FloatProperty"));